/*
 *  ES2015 octal literal
 */

/*===
83
342391
1.5075109178858776e+29
SyntaxError
SyntaxError
1.7102769657983115e+308
Infinity
16434824
===*/

function test() {
    function f(x) {
        try {
            print(eval(x));
        } catch (e) {
            print(e.name);
        }
    }

    f('0o123');
    f('0o01234567');
    f('0o171615141312131415161716151413121');
    f('0o1716151413121314151617161514131218');
    f('0o1716151413121314151861716151413121');
    f('0o171615141312131415176171615141312777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777757575757734576347563745673465734657364756347563745673465736457364756347563745673465734657362576351672351672351672356712537615327615327615763251762351762351762537612537615327615763251726351726356366327');
    f('0o1716151413121314151761716151413127777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777575757577345763475637456734657346573647563475637456734657364573647563475637456734657346573625763516723516723516723567125376153276153276157632517623517623517625376125376153276157632517263517263563663277');

    // Also allowed in strict mode.
    f('(function () { "use strict"; return 0o76543210; })()');
}

test();
